package com.hmall.search.domain.query;

import com.hmall.common.domain.PageQuery;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 商品分页查询条件类。
 * 继承自 {@link PageQuery}，用于封装商品分页查询时的筛选条件，
 * 包含搜索关键字、商品分类、品牌以及价格范围等参数。
 */

/**
 * 通过 Lombok 自动生成 equals() 和 hashCode() 方法，并包含父类属性的比较与哈希计算。
 * <p>
 * 此注解配置 callSuper 参数为 true，确保生成的 equals 和 hashCode 方法会调用父类的同名方法，
 * 从而在对象比较和哈希值计算时包含父类的属性值。
 */
@EqualsAndHashCode(callSuper = true)

@Data
@ApiModel(description = "商品分页查询条件")
public class ItemPageQuery extends PageQuery {
    @ApiModelProperty("搜索关键字")
    private String key;
    @ApiModelProperty("商品分类")
    private String category;
    @ApiModelProperty("商品品牌")
    private String brand;
    @ApiModelProperty("价格最小值")
    private Integer minPrice;
    @ApiModelProperty("价格最大值")
    private Integer maxPrice;
}
